<?php

namespace app\admin\controller;

use app\admin\controller\Base;

// 用户管理  用户角色信息
class Pic extends Base
{
    // 显示文章列表
    public function index()
    {
        $posts = db('postpic')->select();
        return view('index', [
            'list' => $posts,
        ]);

    }


     public function create()
    {
        return view();
    }


    /**
     * 新建
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function doadd(Request $request)
    {
        //接收post数据
        $data=input('post.');
        // 判断状态
        if ( isset($data['status']) ) {
            $data['status'] = 1;
        }else{
            $data['status'] = 0;
        }


        $list = db('user')->insert($data);
        $id = db('user')->getLastInsID();
        // 添加默认角色
        $rid['rid'] = 1;
        $rid['uid'] = $id;
        $role = db('user_role')->insert($rid);
        
         // 还回页面
        $lists = db('user')->select($id);

        if($lists){
        //设置成功后跳转页面的地址，默认的返回页面是$_SERVER['HTTP_REFERER']
        $this->success('添加成功', '/admin/user');
        } else {
            //错误页面的默认跳转页面是返回前一页，通常不需要设置
            $this->error('添加失败');
        }
    }



    /**
     * 显示详情
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function getInfo($id)
    {
        $list = db('user')->select($id);
        $list = $list[0];
        $roles = $this->getrole($id);
        $list['roles'] = json_decode($roles);
        // var_dump($list);die;
        return view('getinfo', 
            [
            'list' => $list
        ]);
    }


    /**
     * 显示编辑
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
        { 
        $list = db('user')->select($id);
        $list = $list[0];
        $roles = $this->getrole($id);
        $list['roles'] = json_decode($roles,true);

        return view('edit', 
            [
            'list' => $list
        ]);
        }

      /**
     * 执行编辑
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function doedit()
    {
        //接收post数据
        $data = input('post.');
        $id = $data['id'];
        if (isset($data['status'])) {
            $data['status']=1;
        }else{
            $data['status']=0;
        }
        // var_dump($data['status']);
        // var_dump($data);die;

        $list = db('user')->update($data);
         // 数据处理
         // 添加数据
         // 还回页面
        if($list){
        //设置成功后跳转页面的地址，默认的返回页面是$_SERVER['HTTP_REFERER']
        $this->success('编辑成功', '/admin/User/');
        } else {
            //错误页面的默认跳转页面是返回前一页，通常不需要设置
            $this->error('编辑失败');
        }
         
    }
    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $list = db('user')->delete($id);
        $list = db('user_role')->where('uid',$id)->delete();
        return '删除成功';
    }


    /**
     * 更改状态
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function changest($id,$status)
    {
        $list = db('user')->where('id', $id)->update(['status' => $status]);
        return '更新成功';
    }

    /**
     * 获取角色  
     *
     * @param  int  $id
     * @return json
     */
    public function getrole($id='')
    {   
        $list = db('role')->field('id,name')->where('status',1)->select();
        if ($id!='') {
         $rid = db('user_role')->field('rid')->where('uid',$id)->select();
            foreach ($rid as $v) {
                foreach ($list as $key => $val) {
                    if ($v['rid']==$val['id']) {
                        $list[$key]['status'] = 1;
                    }
                }
            }
        }
        return json_encode($list);
    }


    /**
     * 更改角色
     *
     * @param  $uid,$rid,$status
     * @return ajax提示字串
     */
    public function changerole($uid,$rid,$status)
    {   
        $data['uid'] = $uid;
        $data['rid'] = $rid;
        if ($status==1) {
            $list = db('user_role')->insert($data);
        }else{
            $list = db('user_role')->where('uid',$uid)->where('rid',$rid)->delete();
        }
       return '更新成功';
    }



}
